package com.shujia.wyh.day09;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

/*
    Collection集合专有的遍历方式：迭代器遍历
    Iterator iterator()



 */
public class CollectionDemo4 {
    public static void main(String[] args) {
        //1、创建集合对象
        Collection c1 = new ArrayList();


        //2、创建元素并添加到集合
        c1.add("hello");
        c1.add("world");
        c1.add("java");
        c1.add("hadoop");
        c1.add("hive");

        //3、遍历集合
        //Collection获取迭代器对象
        Iterator iterator = c1.iterator(); // Iterator iterator = new Itr();
//        System.out.println(iterator.next());
//        System.out.println(iterator.next());
//        System.out.println(iterator.next());
//        System.out.println(iterator.next());
//        System.out.println(iterator.next());
//        System.out.println(iterator.next());
//        System.out.println(iterator.next());
//        System.out.println(iterator.next());
        //将来我们并不清楚迭代器中有多少元素，就无法知道要next多少次，应该要在每一个获取之前先判断一下下一个位置上是否存在元素
        //如果有，咱们就next()获取一下，如果没有就不获取
        //hasNext()进行判断
//        if (iterator.hasNext()) {
//            System.out.println(iterator.next());
//        }
//        if (iterator.hasNext()) {
//            System.out.println(iterator.next());
//        }
//        if (iterator.hasNext()) {
//            System.out.println(iterator.next());
//        }
//        if (iterator.hasNext()) {
//            System.out.println(iterator.next());
//        }
//        if (iterator.hasNext()) {
//            System.out.println(iterator.next());
//        }
//        if (iterator.hasNext()) {
//            System.out.println(iterator.next());
//        }
//        if (iterator.hasNext()) {
//            System.out.println(iterator.next());
//        }
        //虽然我们解决了报错的问题，但是我们还是不清楚要写几次
        //使用while循环改进
        while (iterator.hasNext()){
            System.out.println(iterator.next());
        }

        System.out.println("==============================");

        //对于Collection集合而言。同一个迭代器只能遍历一次
//        while (iterator.hasNext()){
//            System.out.println(iterator.next());
//        }


    }
}
